Golang 是一種靜態的語言,這個意思就是指說,當我們要產生一個 value 賦予給變數時,都需要同時確定其 value 的資料型態,不能像是 Python 這種動態語言一樣,一下在變數中放數字,一下又改成字串。
最基本的變數宣告如下
var myAge int = 3
以上的 var
代表的是 go 的保留字,等同於 JavaScript 中的 let
。myAge
則是變數名,可以根據喜好自行命名,通常在 Go 語言中,我們習慣將變數寫成駝峰型(Camel)的格式。
接著就是 int
了,這個部分就是在靜態語言中,我們在定義變數時,需要加上的資料型態類別,讓 Go 知道這個變數都會代表怎樣類型的資料型態。這邊的意思,就是指說 myAge
都只會接收 int
這種類型的資料型態。
然後這邊有個觀念要跟新手釐清,未來在操作 Go 的時候,我們有時候會直接這樣創造變數
var myAge = 3
這樣其實也是可以被 Go 識別並執行的,可能有人就會有疑問,為什麼這邊不用定義資料型態,一樣能夠執行呢。這是因為 Go 會在背後幫你做判斷,當這個 3
是 Go 認得,並且有相對應的內建資料型態可以定義時,這樣的賦值就不會報錯,背後做的事情跟 var myAge int = 3
是一樣的,不過也因為跟上句的宣告方式是一樣的,我們依然不能操作以下行為
myAge = "happy"
因為 Go 是靜態語言,雖然當你第一次宣告變數時,沒有告知資料型態,但它背後其實幫你做了,所以 myAge
還是被限制只能接受 int
型態的 value,因此當你將 happy 賦值給 myAge
時, Go 就會報錯喔!這是動態轉靜態語言時,又遇到var myAge = 3
這樣寫法時,可能會搞錯的地方。
以下是 Go 內建的基本資料型態
34
3.15
"Hello"
true/false
'a'
(ASCII 十進位編碼系統,如果輸出 a 字符會是 97)因為今天太晚開始動工,無法一一展開資料型態的介紹,我會在後續補上,還請大家見諒!謝謝~